package cate.common.table.farm;

import cp.solution.util.str.Str;
import org.apache.commons.lang3.StringUtils;

import java.util.ArrayList;
import java.util.List;

public interface FightChallenge {

    int getType();

    List<OperOption> getOperOptions();

    int getHeroProto();

    default List<OperOption> createOperOption(String paramStr, String checkOperStr, String valueStr){
        List<Integer> params = new ArrayList<>();
        if (StringUtils.isNotBlank(paramStr)) {
            params = Str.strArr2intList(paramStr.split("#"));
        }
        List<Byte> checkOpers = new ArrayList<>();
        if(StringUtils.isNotBlank(checkOperStr)){
            checkOpers = Str.strArr2byteList(checkOperStr.split("#"));
        }
        List<Integer> values = new ArrayList<>();
        if(StringUtils.isNotBlank(valueStr)){
            values = Str.strArr2intList(valueStr.split("#"));
        }
        List<OperOption> options = new ArrayList<>();
        if(params.isEmpty()){
            OperOption option = new OperOption();
            option.param = 0;
            option.checkOper = checkOpers.get(0);
            option.value = values.get(0);
            options.add(option);
        }else{
            for(int i=0;i<params.size();++i){
                OperOption option = new OperOption();
                option.param = params.get(i);
                option.checkOper = checkOpers.get(i);
                option.value = values.get(i);
                options.add(option);
            }
        }
        return options;
    }
}
